{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 加载包\n",
    "from gensim.models import Word2Vec\n",
    "from gensim.models.word2vec import LineSentence\n",
    "\n",
    "import logging\n",
    "import itertools\n",
    "import gensim\n",
    "from gensim import utils\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "scrolled": true
   },
   "outputs": [],
   "source": [
    "# 训练模型\n",
    "sentences = LineSentence('wiki.zh.word-utf8.text')\n",
    "# min_count指定了需要训练词语的最小出现次数，默认为5\n",
    "# size指定了训练时词向量维度，默认为100\n",
    "# worker指定了完成训练过程的线程数，默认为1不使用多线程。只有注意安装Cython的前提下该参数设置才有意义\n",
    "#sg： 用于设置训练算法，默认为0，对应CBOW算法；sg=1则采用skip-gram算法。\n",
    "model = Word2Vec(sentences, size=128, window=5, min_count=5, workers=4,sg = 1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 保存模型\n",
    "\n",
    "#保存的文件不能利用文本编辑器查看但是保存了训练的全部信息，可以在读取后追加训练\n",
    "model.save('wiki_zh_word_embedding_128_again.m')\n",
    "#保存为word2vec文本格式但是保存时丢失了词汇树等部分信息，不能追加训练\n",
    "model.wv.save_word2vec_format('wiki_zh_word_embedding_128_sg.m', binary=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": true
   },
   "outputs": [
    {
     "ename": "UnpicklingError",
     "evalue": "invalid load key, '6'.",
     "traceback": [
      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[0;31mUnpicklingError\u001b[0m                           Traceback (most recent call last)",
      "\u001b[0;32m<ipython-input-5-666c83aeab31>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m      1\u001b[0m \u001b[0;31m# 加载模型\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m      2\u001b[0m \u001b[0;31m#model = Word2Vec.load(\"wiki_zh_word_embedding_128.m\")\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 3\u001b[0;31m \u001b[0mmodel\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mgensim\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmodels\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mWord2Vec\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mload\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"wiki_zh_word_embedding_128_sg.m\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
      "\u001b[0;32m~/anaconda3/lib/python3.7/site-packages/gensim/models/word2vec.py\u001b[0m in \u001b[0;36mload\u001b[0;34m(cls, *args, **kwargs)\u001b[0m\n\u001b[1;32m   1310\u001b[0m         \"\"\"\n\u001b[1;32m   1311\u001b[0m         \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1312\u001b[0;31m             \u001b[0mmodel\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0msuper\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mWord2Vec\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcls\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mload\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m   1313\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m   1314\u001b[0m             \u001b[0;31m# for backward compatibility for `max_final_vocab` feature\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m~/anaconda3/lib/python3.7/site-packages/gensim/models/base_any2vec.py\u001b[0m in \u001b[0;36mload\u001b[0;34m(cls, *args, **kwargs)\u001b[0m\n\u001b[1;32m   1242\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m   1243\u001b[0m         \"\"\"\n\u001b[0;32m-> 1244\u001b[0;31m         \u001b[0mmodel\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0msuper\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mBaseWordEmbeddingsModel\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcls\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mload\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m   1245\u001b[0m         \u001b[0;32mif\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0mhasattr\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mmodel\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m'ns_exponent'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m   1246\u001b[0m             \u001b[0mmodel\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mns_exponent\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;36m0.75\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m~/anaconda3/lib/python3.7/site-packages/gensim/models/base_any2vec.py\u001b[0m in \u001b[0;36mload\u001b[0;34m(cls, fname_or_handle, **kwargs)\u001b[0m\n\u001b[1;32m    601\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    602\u001b[0m         \"\"\"\n\u001b[0;32m--> 603\u001b[0;31m         \u001b[0;32mreturn\u001b[0m \u001b[0msuper\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mBaseAny2VecModel\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcls\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mload\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfname_or_handle\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    604\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    605\u001b[0m     \u001b[0;32mdef\u001b[0m \u001b[0msave\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfname_or_handle\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m~/anaconda3/lib/python3.7/site-packages/gensim/utils.py\u001b[0m in \u001b[0;36mload\u001b[0;34m(cls, fname, mmap)\u001b[0m\n\u001b[1;32m    420\u001b[0m         \u001b[0mcompress\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0msubname\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mSaveLoad\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_adapt_by_suffix\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfname\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    421\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 422\u001b[0;31m         \u001b[0mobj\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0munpickle\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfname\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    423\u001b[0m         \u001b[0mobj\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_load_specials\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfname\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmmap\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcompress\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0msubname\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    424\u001b[0m         \u001b[0mlogger\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0minfo\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"loaded %s\"\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfname\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m~/anaconda3/lib/python3.7/site-packages/gensim/utils.py\u001b[0m in \u001b[0;36munpickle\u001b[0;34m(fname)\u001b[0m\n\u001b[1;32m   1359\u001b[0m         \u001b[0;31m# Because of loading from S3 load can't be used (missing readline in smart_open)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m   1360\u001b[0m         \u001b[0;32mif\u001b[0m \u001b[0msys\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mversion_info\u001b[0m \u001b[0;34m>\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0;36m3\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m0\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1361\u001b[0;31m             \u001b[0;32mreturn\u001b[0m \u001b[0m_pickle\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mload\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mf\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mencoding\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m'latin1'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m   1362\u001b[0m         \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m   1363\u001b[0m             \u001b[0;32mreturn\u001b[0m \u001b[0m_pickle\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mloads\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mf\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mread\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;31mUnpicklingError\u001b[0m: invalid load key, '6'."
     ],
     "output_type": "error"
    }
   ],
   "source": [
    "# 加载模型\n",
    "#model = Word2Vec.load(\"wiki_zh_word_embedding_128.m\")\n",
    "model=gensim.models.Word2Vec.load(\"wiki_zh_word_embedding_128_sg.m\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "10\n",
      "0 大陆 0.7746931314468384\n",
      "1 我国 0.6922389268875122\n",
      "2 经营报 0.6868888139724731\n",
      "3 北京 0.6853708624839783\n",
      "4 内地 0.6779896020889282\n",
      "5 江苏网 0.6692827343940735\n",
      "6 军网 0.6671650409698486\n",
      "7 亚洲各国 0.6626995801925659\n",
      "8 欧中 0.6616818904876709\n",
      "9 东盟自由贸易区 0.6579015851020813\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/root/anaconda3/lib/python3.7/site-packages/gensim/matutils.py:737: FutureWarning: Conversion of the second argument of issubdtype from `int` to `np.signedinteger` is deprecated. In future, it will be treated as `np.int64 == np.dtype(int).type`.\n",
      "  if np.issubdtype(vec.dtype, np.int):\n"
     ]
    }
   ],
   "source": [
    "# 使用模型\n",
    "items = model.wv.most_similar(u'中国')\n",
    "print(len(items))\n",
    "#model.wv.most_similar(u'男人',  u'女人')\n",
    "for i, item in enumerate(items):\n",
    "\tprint(i, item[0], item[1])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0 女人 0.6733542680740356\n",
      "1 胆小鬼 0.6426182985305786\n",
      "2 家伙 0.6325250864028931\n",
      "3 重色轻友 0.6242005228996277\n",
      "4 事来 0.6211745142936707\n",
      "5 很胖 0.6184269785881042\n",
      "6 瘦瘦的 0.613095760345459\n",
      "7 男孩 0.611844003200531\n",
      "8 浑蛋 0.6114282608032227\n",
      "9 少来 0.6114280819892883\n"
     ]
    }
   ],
   "source": [
    "# 使用模型\n",
    "# 使用模型\n",
    "#items = model.wv.most_similar(u'男人',  u'女人')\n",
    "\n",
    "items = model.wv.most_similar(positive=['国王', '男人'], negative=['王后'])\n",
    "for i, item in enumerate(items):\n",
    "\tprint(i, item[0], item[1])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0 客机 0.7186269760131836\n",
      "1 降落 0.6968420743942261\n",
      "2 一架 0.6948869228363037\n",
      "3 航机 0.6926475763320923\n",
      "4 波音 0.6880561113357544\n",
      "5 型飞机 0.6801679134368896\n",
      "6 空中客车 0.67933189868927\n",
      "7 坠毁 0.6705143451690674\n",
      "8 两架 0.6653116941452026\n",
      "9 货机 0.6627528071403503\n"
     ]
    }
   ],
   "source": [
    "items = model.wv.most_similar(positive=['机场', '飞机'], negative=['汽车站'])\n",
    "for i, item in enumerate(items):\n",
    "\tprint(i, item[0], item[1])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/root/anaconda3/lib/python3.7/site-packages/ipykernel_launcher.py:6: DeprecationWarning: Call to deprecated `__getitem__` (Method will be removed in 4.0.0, use self.wv.__getitem__() instead).\n",
      "  \n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "from sklearn.decomposition import PCA\n",
    "from matplotlib import pyplot\n",
    "%matplotlib inline\n",
    "\n",
    "\n",
    "X = model[model.wv.vocab]\n",
    "pca = PCA(n_components=2)\n",
    "result = pca.fit_transform(X)\n",
    "# 可视化展示\n",
    "pyplot.scatter(result[:, 0], result[:, 1])\n",
    "words = list(model.wv.vocab)\n",
    "for i, word in enumerate(words):\n",
    "\tpyplot.annotate(word, xy=(result[i, 0], result[i, 1]))\n",
    "pyplot.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.2"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
